package com.power.project.service;

import com.power.project.model.Ww_user;
import com.power.project.model.bo.UserRemoveBO;
import com.power.project.model.bo.UserSaveBO;
import com.power.project.model.pageInfo.UserQueryPageInfo;
import com.power.project.model.vo.DepartUserVO;
import com.power.project.model.vo.PasswordVO;
import com.power.project.model.vo.UserBaseVO;
import com.power.project.model.vo.UserDetailVO;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 业务层
 */
public interface Ww_userService {

    Page<DepartUserVO> findAll(UserQueryPageInfo pageInfo);

    Page<DepartUserVO> findAllByDepart(UserQueryPageInfo pageInfo);

    Page<UserBaseVO> findAllByTag(UserQueryPageInfo pageInfo);


    List<Ww_user> findByTenantidAndUseridIn(String tenantid, List<String> userIdList);

    /**
     * 根据userid查询用户
     */
    Ww_user getByUserId(String id);

    /**
     * 根据userid查询用户密码
     */
    PasswordVO queryUserPassword(String userid);

    UserDetailVO view(String userId);

    void save(UserSaveBO saveBO);

    void batchRemove(UserRemoveBO removeBO);

    void deleteByUserId(String userId);

    List<Ww_user> findByUseridIn(List<String> userIds);
}
